package com.molichuxing.gateway.bff.order.entity.request.create;

import com.molichuxing.framework.dto.RequestRootDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.math.BigDecimal;
import java.util.List;

/**
 * 企业订单支付vo
 *
 * @Author zoumingyu
 * @Date 2020年06月11日
 */
@Data
public class EnterprisePayCreateVo extends RequestRootDto {
    private static final long serialVersionUID = 3989529732500172102L;

    @ApiModelProperty(value = "订单号")
    @NotNull(message = "订单号不能为空")
    private Long orderCode;

    @ApiModelProperty(value = "排期id(首付为0)")
    @NotNull(message = "排期id不能为空")
    private Integer scheduleId;

    @ApiModelProperty(value = "流水编号")
    @NotNull(message = "流水编号不能为空")
    private String serialNumber;

    @ApiModelProperty(value = "付款时间")
    @NotNull(message = "付款时间不能为空")
    private String payTime;

    @ApiModelProperty(value = "付款方")
    @NotNull(message = "付款方不能为空")
    private String payer;

    @ApiModelProperty(value = "付款方账号")
    @NotNull(message = "付款方账号不能为空")
    private String payerAccount;

    @ApiModelProperty(value = "收款方")
    @NotNull(message = "收款方不能为空")
    private String payee;

    @ApiModelProperty(value = "收款开户行")
    @NotNull(message = "收款开户行不能为空")
    private String payeeBank;

    @ApiModelProperty(value = "收款方账号")
    @NotNull(message = "收款方账号不能为空")
    private String payeeAccount;

    @ApiModelProperty(value = "到账金额")
    @NotNull(message = "到账金额不能为空")
    private BigDecimal arrivalAmount;

    @ApiModelProperty(value = "备注")
    private String remark;

    @ApiModelProperty(value = "流水凭证")
    @NotNull(message = "流水凭证不能为空")
    @Size(min = 1, message = "流水凭证最少1张,最大5张")
    private List<String> voucherImg;
}
